const si = require('systeminformation');  
  
// 获取 CPU 使用率  
si.currentLoad()  
  .then(data => {  
    console.log('CPU Usage:', data.currentLoad); // 当前负载百分比  
  })  
  .catch(error => {  
    console.error('Error getting CPU usage:', error);  
  });  
  
// 获取内存使用情况  
si.mem()  
  .then(data => {  
    console.log('Memory Usage:', data.used / data.total * 100); // 已使用百分比  
  })  
  .catch(error => {  
    console.error('Error getting memory usage:', error);  
  });  
  
// // 获取网络接口信息，用于计算带宽占用率  
// // 注意：这只是一个示例，真正的带宽占用率需要连续监控和计算  
// function calculateBandwidth(iface, interval = 1000) {  
//   let prevRxBytes = 0;  
//   let prevTxBytes = 0;  
  
//   setTimeout(() => {  
//     si.networkInterfaces()  
//       .then(data => {  
//         console.log(data);
//         const ifaceData = data.find(i => i.iface === iface);  
//         if (ifaceData) {  
//           const rxBytes = ifaceData.rx_bytes;  
//           const txBytes = ifaceData.tx_bytes;  
  
//           // 计算每秒接收和发送的字节数（带宽占用率的估算）  
//           const rxSpeed = (rxBytes - prevRxBytes) / (interval / 1000);  
//           const txSpeed = (txBytes - prevTxBytes) / (interval / 1000);  
  
//           prevRxBytes = rxBytes;  
//           prevTxBytes = txBytes;  
  
//           console.log(`Bandwidth Usage for ${iface}: RX ${rxSpeed.toFixed(2)} Bps, TX ${txSpeed.toFixed(2)} Bps`);  
//         }  
//       })  
//       .catch(error => {  
//         console.error('Error getting network interfaces:', error);  
//       });  
//   }, interval);  
// }  
  
// 使用 'eth0' 作为网络接口名称（根据你的系统实际情况修改）  
// calculateBandwidth('WLAN');